home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Commodities / Ascsend / MUI / Source / mui_ascs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-27  |  8.8 KB  |  253 lines

  1. /* Mui-Ascsend.h */
  2.  
  3.  
  4. #include <stdio.h>
  5. #include <stdarg.h>
  6. #include <stddef.h>
  7. #include <math.h>
  8. #include <dos.h>
  9. #include <dos/dostags.h>
  10. #include <time.h>
  11. #include <ctype.h>
  12. #include <stdlib.h>
  13. #include <string.h>
  14.  
  15. #include <libraries/dos.h>
  16. #include <libraries/asl.h>
  17. #include <libraries/mui.h>
  18. #include <libraries/locale.h>
  19. #include <devices/input.h>
  20. #include <devices/inputevent.h>
  21.  
  22. #include <intuition/intuition.h>
  23. #include <intuition/intuitionbase.h>
  24. #include <exec/exec.h>
  25. #include <dos/dos.h>
  26. #include <graphics/gfx.h>
  27. #include <utility/tagitem.h>
  28.  
  29. #include <workbench/icon.h>
  30. #include <workbench/startup.h>
  31. #include <workbench/workbench.h>
  32.  
  33. #include <proto/all.h>
  34. #include <clib/muimaster_protos.h>
  35.  
  36. #include <rexx/errors.h>
  37.  
  38.  
  39. #include <pragmas/asl_pragmas.h>
  40. #include <pragmas/wb_pragmas.h>
  41. #include <pragmas/icon_pragmas.h>
  42. #include <pragmas/muimaster_pragmas.h>
  43. #include <pragmas/commodities_pragmas.h>
  44. #include <pragmas/gadtools_pragmas.h>
  45. #include <pragmas/utility_pragmas.h>
  46. #include <pragmas/exec_pragmas.h>
  47. #include <pragmas/graphics_pragmas.h>
  48. #include <pragmas/dos_pragmas.h>
  49. #include <pragmas/intuition_pragmas.h>
  50. #include <pragmas/gadtools_pragmas.h>
  51. #include <pragmas/locale_pragmas.h>
  52.  
  53. extern struct Library *AslBase;
  54. extern struct Library *CxBase;
  55. extern struct Library *UtilityBase;
  56. extern struct Library *GadToolsBase;
  57. extern struct GfxBase *GfxBase;
  58. extern struct Library *LocaleBase;
  59. extern struct IntuitionBase *IntuitionBase;
  60. extern struct Library *MUIMasterBase;
  61. extern struct Library *KeymapBase;
  62.  
  63. #define ASCSEND_TEXT     "MUI-ASCII-SEND"
  64. #define ASCSEND_VER      "1"
  65. #define ASCSEND_REVISION "19"
  66. #define ASCSEND_VERSION  "$VER: " ASCSEND_TEXT " " ASCSEND_VER "." ASCSEND_REVISION  " "__DATE__ " " __TIME__
  67. #define STRMAXLEN       256
  68. #define KEYLEN           40
  69.  
  70. /***************************************************************/
  71. /*                                                             */
  72. /***************************************************************/
  73.  
  74. #define CXID_STOP        1
  75. #define CXID_QUIT        2
  76. #define CXID_FILEREQ     3     
  77. #define CXID_INFO        4
  78. #define CXID_POPUP       5
  79. #define CXID_RECSTART    6
  80. #define CXID_RECSTOP     7
  81. #define CXID_BASE       10
  82.  
  83. #define DEFAULT_REQUESTFILE_KEY "control alt r"
  84. #define DEFAULT_POPUP_KEY       "control alt a"
  85. #define DEFAULT_INFO_KEY        "control alt i"
  86. #define DEFAULT_STOP_KEY        "control alt q"
  87.  
  88. #define  OPENWD_MACRO  {CxObj *broker; get(app,MUIA_Application_Broker,&broker);set(window,MUIA_Window_Open,TRUE); ActivateCxObj(broker,0L);rec_stop_f(NULL);}
  89. #define  CLOSEWD_MACRO {CxObj *broker; get(app,MUIA_Application_Broker,&broker);set(window,MUIA_Window_Open,FALSE); ActivateCxObj(broker,1L);}
  90. #define  GetStrArg(n,m)  (*parms[n] + m++)
  91. #define  my_AddIEvents(ie) {s_HandlerIO->io_Data    = (APTR)ie;  DoIO((struct IORequest *)s_HandlerIO);}
  92.  
  93. #define  MODE_CHANGE   0
  94. #define  MODE_NEW      1
  95. #define  GET_A_FILE    0
  96. #define  GET_A_STRING  1
  97.  
  98. #define IE_COUNT       40
  99.  
  100. /**************************************************************/
  101. /*                 locale-support                             */
  102. /**************************************************************/
  103.  
  104. #define GETSTR(strnum) ((LocaleBase) ? GetCatalogStr(ascs_catalog,strnum,locale_strings[strnum]) : locale_strings[strnum])
  105.  
  106. /**************************************************************/
  107. /*            ein paar abgewandelte Mui-Macros                */
  108. /**************************************************************/
  109.  
  110. #define MyKeyString(contents,maxlen,controlchar,disable)\
  111.     StringObject,\
  112.         StringFrame,\
  113.         MUIA_ControlChar    , controlchar,\
  114.         MUIA_String_MaxLen  , maxlen,\
  115.         MUIA_String_Contents, contents,\
  116.                 MUIA_Disabled       , disable,\
  117.          End
  118.  
  119. #define MyKeyInteger(maxlen,controlchar)\
  120.     StringObject,\
  121.         StringFrame,\
  122.         MUIA_ControlChar    , controlchar,\
  123.         MUIA_String_MaxLen  , maxlen,\
  124.                 MUIA_String_Accept  , "0123456789",\
  125.          End
  126.  
  127.  
  128. #define IntegerObject(contents,maxlen)\
  129.     StringObject,\
  130.         StringFrame,\
  131.         MUIA_String_MaxLen  , maxlen,\
  132.   MUIA_String_Accept  , "0123456789",\
  133.   MUIA_String_Integer , contents, \
  134.          End
  135.  
  136. #define ButtonObject(name)\
  137.     TextObject,\
  138.         ButtonFrame,\
  139.         MUIA_Text_Contents, name,\
  140.         MUIA_Text_PreParse, "\33c",\
  141.         MUIA_InputMode    , MUIV_InputMode_RelVerify,\
  142.         MUIA_Background   , MUII_ButtonBack,\
  143.         End
  144.  
  145.  
  146.  
  147. #define MyKeyButton(name,key,disable)\
  148.     TextObject,\
  149.         ButtonFrame,\
  150.         MUIA_Text_Contents, name,\
  151.         MUIA_Text_PreParse, "\33c",\
  152.         MUIA_Text_HiChar  , key,\
  153.         MUIA_ControlChar  , key,\
  154.         MUIA_InputMode    , MUIV_InputMode_RelVerify,\
  155.         MUIA_Background   , MUII_ButtonBack,\
  156.                 MUIA_Disabled     , disable,\
  157.         End
  158.  
  159.  
  160. struct hotkey
  161.        {
  162.         CxObj         *h_key;
  163.         UBYTE          h_description[KEYLEN];
  164.         UBYTE          h_filename[KEYLEN];
  165.         ULONG          h_id;
  166.        };
  167.  
  168. extern struct hotkey   requestfile_hotkey,popup_hotkey,info_hotkey,stop_hotkey;
  169. extern struct hotkey   insert_this_key;
  170. extern enum IDs;
  171. extern struct MUI_Command rx_cmd[];
  172. extern UBYTE *locale_strings[];
  173. extern APTR app;
  174. extern APTR window;
  175. extern APTR key_lv;
  176. extern APTR key_list; 
  177. extern APTR special_list;
  178. extern APTR newkey, newkeystring,delkey, filestring;
  179. extern APTR filerequest_string, popup_string, stop_string,info_string;
  180. extern APTR delay_int,delaychar_int;
  181. extern APTR edit_string;
  182. extern APTR rec_start,rec_stop,rec_file;
  183. extern APTR rec_min_delay,rec_handler_pri,rec_include_mb,rec_include_delay;
  184. extern APTR rec_max;
  185. extern APTR auto_recstart,auto_recstop;
  186. extern APTR rec_max_on;
  187.  
  188. extern UBYTE displayline[STRMAXLEN];
  189. extern UBYTE requestpath[STRMAXLEN];
  190. extern UBYTE requestfile[STRMAXLEN];
  191. extern ULONG recording;
  192. extern ULONG min_delay;
  193. extern BYTE  h_priority;
  194. extern ULONG from_main;
  195.  
  196. extern struct Hook construct_keys;
  197. extern struct Hook destruct_keys;
  198. extern struct Hook display_keys;
  199. extern struct Hook compare_keys;
  200. extern struct Hook cxmsg;
  201. extern struct Hook rx_send;
  202. extern struct Hook rx_sendkey;
  203. extern struct Hook rx_set_rec_opts;
  204.  
  205. extern LONG        SigBit;
  206.        
  207. extern void __stdargs main(int argc, char **argv);
  208. extern void init(void);
  209. extern void __regargs fail(APTR app);
  210. extern void __regargs Load_from_icon(int argc, char **argv);
  211. extern struct hotkey __regargs *FindEntry(APTR list,ULONG id);
  212. extern LONG          __regargs  FindEntryNumber(APTR list,ULONG id);
  213. extern struct hotkey __regargs *FindEntryKey(APTR list,UBYTE *key);
  214. extern struct hotkey __regargs *FindEntryN(APTR list,ULONG num);
  215. extern void          __regargs  ChangeKey(APTR list,UBYTE *key,UBYTE *file,ULONG id,ULONG mode);
  216. extern void           ShowWDTitle(void);
  217. extern long          __regargs  Sendfile(UBYTE *filename,ULONG mode);
  218. extern void          Save_to_icon(void);
  219. extern int           showrequest(void);
  220. extern void          editfile(UBYTE *name);
  221. extern LONG __asm __saveds construct_key_func( register __a0 struct Hook *hook,register __a2 APTR mem_pool,register __a1 struct hotkey *key);
  222. extern void __asm __saveds destruct_key_func( register __a0 struct Hook *hook,register __a2 APTR mem_pool,register __a1 struct hotkey *key);
  223. extern LONG __asm __saveds display_key_func(register __a0 struct Hook *hook,register __a2 UBYTE **array,register __a1 struct hotkey  *key);
  224. extern LONG __asm __saveds cxmsg_broker_func(register __a2 APTR app,register __a1 CxMsg *key);
  225. extern LONG __asm __saveds compare_func(register __a0 struct Hook *hook,register __a1 struct hotkey *h1,register __a2 struct hotkey *h2);
  226. extern LONG __asm __saveds rx_send_func(register __a1 UBYTE **parms);
  227. extern LONG __asm __saveds rx_activate_func(register __a1 UBYTE **parms);
  228. extern LONG __asm __saveds rx_activate_screen_func(register __a1 UBYTE **parms);
  229. extern LONG __asm __saveds rx_setkey_func(register __a1 UBYTE **parms);
  230. extern LONG __asm __saveds rx_remkey_func(register __a1 UBYTE **parms);
  231. extern LONG __asm __saveds rx_remall_func(register __a1 UBYTE **parms);
  232. extern LONG __asm __saveds rx_set_func(register __a1 UBYTE **parms);
  233. extern LONG __asm __saveds rx_delay_func(register __a1 LONG **parms);
  234. extern LONG __asm __saveds rx_delaychar_func(register __a1 LONG **parms);
  235. extern LONG __asm __saveds rx_sendstring_func(register __a1 LONG **parms);
  236. extern LONG __asm __saveds rx_rec_opts_func(register __a1 LONG **parms);
  237. extern LONG __asm __saveds rx_recfile_func(register __a1 LONG **parms);
  238. extern UBYTE      __regargs *makemem(ULONG size);
  239. extern void                  releasemem(void *mem);
  240. extern UBYTE __regargs *getfilebuffer(UBYTE *filename,ULONG mode);
  241. extern void  __regargs freefilebuffer(UBYTE *buffer,ULONG size);
  242. extern BOOL  __regargs getnextchar(UBYTE *buffer,UBYTE *where);
  243. extern LONG            makeIHandler(void);
  244. extern void            remIHandler(void);
  245.  
  246. extern void * __asm __saveds input_handler(register __a0 struct InputEvent *ev,register __a1 APTR mem_pool);
  247.  
  248. extern void rec_start_f(ULONG n);
  249. extern void rec_stop_f(UBYTE *name);
  250. extern LONG init_recorder(void);
  251. extern void exit_recorder(void);
  252. extern void write_file(UBYTE *name);
  253.